package com.edu.controller;

import com.edu.service.UserService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Qualifier;
import org.springframework.stereotype.Controller;

import javax.annotation.Resource;

/**
 * @Author:mx
 * @Date :2022/10/27 - 10 - 27 - 16:59
 */
@Controller
public class UserController {


    /*
    * @Resource 用在  属性  属性的set方法  构造方法的参数上
    *   用于 引用型的 属性的注入;
    *     1 该注解 由JAVA EE提供
    *     2 默认是 用和属性同名的 bean进行注入
    *     3 如果没有同名的话 按照类型进行注入
    *     4 同类型的 有多个，会报错
    *     5 可以用@Resource(name="beanId") 来指定某一个 bean.
    *     6 使用暴力反射实现，所以不需要get set 方法
    *
    *
    *   @Auowired
    *       用于引用型的属性的注入
    *         1.该注解 由 Spring框架提供
    *         2.按照类型进行自动注入
    *         3.同类型有多个会报错
    *         4. @Autowired(required = true/false) 设置是否必须注入
    *         5.  @Autowired  可以和 @Qualifier配合 后者可以指定  注入的beanId
    * */
//    @Resource(name="userServiceImpl2")
    @Autowired
    @Qualifier("userServiceImpl2")
    private UserService userService;

    public void login(){
        System.out.println("执行了Controller的登录方法");
        userService.login();
    }
}
